
<?php

include($_SESSION['dir'].'clases/cliente.php');
include($_SESSION['dir'].'clases/archivo.php');
include($_SESSION['dir'].'clases/tema.php'); 

$bd_url;
$bd_usuario;
$bd_pass;
$bd_nombre; 

/*
Metodo para inicializar BD.
Retorna una variable de conexion
*/
function iniBD(){

/* Get Sectors from session */   
    if(!isset($_SESSION['bd_url'])){
		
            include('conf/conf.php');
            $dbConf = new Conf();
            $bd_url = $dbConf->get_url();
            $bd_usuario = $dbConf->get_usuario();
            $bd_pass = $dbConf->get_pass();
            $bd_nombre = $dbConf->get_nombre();
                
                //Set DB Info. in-session
            $_SESSION['bd_url']=$bd_url; 
            $_SESSION['bd_usuario']=$bd_usuario; 
            $_SESSION['bd_pass']=$bd_pass; 
            $_SESSION['bd_nombre']=$bd_nombre;
        
      
        
          	$conexion = mysql_connect($bd_url,$bd_usuario,$bd_pass);
            if(!$conexion) die ("Error al conectar al localhost");

            $db = mysql_select_db($bd_nombre,$conexion);
            if(!$db) die ("Error al conectar con la base de datos");

        }
		
    $bd_url = $_SESSION['bd_url'];
    $bd_usuario = $_SESSION['bd_usuario'];
    $bd_pass = $_SESSION['bd_pass'];
    $bd_nombre = $_SESSION['bd_nombre']; 

    $conexion = mysql_connect($bd_url,$bd_usuario,$bd_pass);
    if(!$conexion) die ("Error al conectar al host 2");
    $db = mysql_select_db($bd_nombre,$conexion);
    if(!$db) die ("Error al conectar con base datos 2");
	
    return $conexion;
}

/*
Metodo cerrar conexion

*/
function closeBD($conexion){
    mysql_close($conexion);
}


/*
Metodo retorna la informacion de los clientes 
(requiere ID) o cliente (ID=0). 
Retorna un arreglo con objetos cliente. 
*/
function getClienteInfo($id){
    if($id == 0){
            $sql= 'SELECT p.nombre,p.apellidos,p.cedula,p.sexo,p.fecha_nac,p.correo,p.foto,p.cuenta,c.ClienteID,c.calificacion,p.PersonaID FROM cliente c, persona p WHERE c.PersonaID=p.PersonaID ORDER BY apellidos';                
        }
        else{
            $sql= 'SELECT p.nombre,p.apellidos,p.cedula,p.sexo,p.fecha_nac,p.correo,p.foto,p.cuenta,c.ClienteID,c.calificacion,p.PersonaID FROM cliente c, persona p WHERE c.PersonaID=p.PersonaID AND ClienteID='.$id;               
        }
	return getArregloCliente($sql);
}

//FUNCION crea objetos cliente y los agrega en un arreglo
//REQUIERE String con consulta sql de los clientes
//RETORNA arreglo de objetos tipo cliente
function getArregloCliente($sql){
	$conexion = iniBD();
    $res = mysql_query($sql);

    $arreglo = array();
    $cont = 0;

    while($row = mysql_fetch_array($res)){   
             
                //construir info de producto
            $cliente = new Cliente();        
            $cliente->set_ID($row['ClienteID']);
			$cliente->set_PersonaID($row['PersonaID']);
            $cliente->set_nombre($row['nombre']);
            $cliente->set_apellidos($row['apellidos']);
			$cliente->set_cedula($row['cedula']);
            $cliente->set_sexo($row['sexo']);
            $cliente->set_correo($row['correo']);
            $cliente->set_cuenta($row['cuenta']);
			//$cliente->set_foto();
			$cliente->set_fecha_nac($row['fecha_nac']);
			$cliente->set_calificacion($row['calificacion']);
			
			
			//**********************FOTO************
			$sql2 = "SELECT * FROM archivo WHERE ArchivoID='".$row['foto']."'";
			$foto = new Archivo();
			
			$res2 = mysql_query($sql2);
			if($row2 = mysql_fetch_array($res2)){
		
				$foto->set_ID($row2['ArchivoID']);	
				$foto->set_claves($row2['claves']);	
				$foto->set_nombre($row2['nombre']);
				$foto->set_descripcion($row2['descripcion']);
				$foto->set_dir($row2['dir']);
				//$foto->set_persona($row2['PersonaID']);
				$foto->set_fecha_creado($row2['fecha_creado']);
				$foto->set_fecha_modificado($row2['fecha_modificado']);	
				
				$cliente->set_foto($foto);
			}
			else $cliente->set_foto(NULL);
		
                
            //construir el arreglo de clientes
            $arreglo[$cont] = $cliente;
            $cont = $cont +1;              
        }
    return $arreglo;
}

//FUNCION Elimina un cliente
//REQUIERE: el ClienteID
//RETORNA: Si hay eliminacion satisfactoria retorna 1 sino 0
function delCliente($id){
	$conexion = iniBD();
	$res=mysql_query('SELECT p.PersonaID,p.foto FROM cliente c, persona p WHERE ClienteID='.$id.' AND c.PersonaID=p.PersonaID');
	if($row=mysql_fetch_array($res)){
		if($row['foto']!=NULL){ //Eliminamos archivo foto
			if(!delArchivo('../images/usuarios',$row['foto'])) return 0;
		}		
		if(mysql_query("DELETE FROM cliente WHERE ClienteID = '$id'")){
			if(mysql_query('DELETE FROM persona WHERE PersonaID = '.$row['PersonaID'])) return 1;
			else echo "<script languaje='javacript'>confirm('Cliente se elimina de cliente pero no de persona ya que tiene archivos asociados');</script>";
		}
		else {
			echo "<script languaje='javacript'>confirm('Cliente no existe en tabla');</script>";
			return 0;
		}
	}
	else echo "<script languaje='javacript'>confirm('Cliente no existe en la base de datos.');</script>";
}


function getClienteID($PersonaID){
	$conexion=iniBD();
	$res = mysql_query("SELECT ClienteID FROM Cliente WHERE PersonaID=".$PersonaID);
	if($row=mysql_fetch_row($res))
		return $row[0];
	else return 0;
}

//FUNCION Eliminar Archivos (PARA ELIMINAR UN CLIENTE y su foto)
//REQUIERE id del archivo a eliminar y la dir relativa
//RETORNA 1 si se elimina satisfactoriamente sino 0
function delArchivo($dir,$id) 
{
		$conexion = iniBD();
		$sql = mysql_query("select dir,nombre from archivo WHERE ArchivoID = '$id'");
		if($row = mysql_fetch_array($sql)){
		
			$arch = $dir.'/'.$row['nombre'];
		
			if ( file_exists( $arch ) )
    		{
				unlink($arch); //Eliminamos de la carpeta el archivo 
			
				if(mysql_query("DELETE FROM archivo WHERE ArchivoID = '$id'"))
				{
					echo "<script languaje='javacript'>confirm('Se elimina archivo id = $id satisfactoriamente...');</script>";
					return 1;
				}
				else echo "<script languaje='javacript'>confirm('No hay permisos para eliminar foto en carpeta.');</script>";
			}
			else {
				echo "<script languaje='javacript'>confirm('Archivo id = $id no existe en direccion...');</script>";
				return 0;
			}
		}
		else echo "<script languaje='javacript'>confirm('Archivo id = $id no existe en base de datos...');</script>";
}


/*
Metodo retorna la informacion de los temas (preguntas, comentarios, sugerencias)
(requiere ID) o para todos los temas (ID=0). 
Retorna un arreglo con objetos tema. 
*/
function getTemaInfo($TemaID){
    $conexion = iniBD();
    $sql;
	
    if($TemaID == 0){
            $sql= 'SELECT * FROM tema ORDER BY fecha_creado';                
        }
        else{
            $sql= 'SELECT * FROM tema WHERE TemaID='.$TemaID;               
        }

    $res = mysql_query($sql);

    $arreglo = array();
    $cont = 0;

    while($row = mysql_fetch_array($res)){   
             
                //construir info de tema
            $tema = new Tema();        
            $tema->set_ID($row['TemaID']);
			$tema->set_nombre($row['nombre']);
            $tema->set_descripcion($row['descripcion']);
			$tema->set_fecha_creado($row['fecha_creado']);
			$tema->set_fecha_modificado($row['fecha_modificado']);
			$tema->set_fecha_terminado($row['fecha_terminado']);
            $tema->set_persona_creadora($row['persona_creadora']);
			$tema->set_empleado_responsable($row['empleado_responsable']);
            $tema->set_tema_categoria($row['tema_categoria']);
			
                
            //construir el arreglo de temas
            $arreglo[$cont] = $tema;
            $cont = $cont +1;              
        }
    //closeBD($conexion);
    return $arreglo;
}

//FUNCION Elimina un tema
//REQUIERE: el TemaID
//RETORNA: Si hay eliminacion satisfactoria retorna 1 sino 0
function delTema($TemaID){
	$conexion = iniBD();
	if(mysql_query("DELETE FROM tema WHERE TemaID = '$TemaID'")){
		return 1;
	}
	else {
		echo "<script languaje='javacript'>confirm('TemaID $TemaID no se puede eliminar en este momento');</script>";
		return 0;
	}
}

//FUNCION editarTema
//REQUIERE arreglo con datos del tema
//RETORNA si se edita satisfactoriamente 1 sino 0
//SUPONE Datos revisados por modulo disponibilidad
function editarTema($datos){

	iniBD();
	date_default_timezone_set('America/Costa_Rica');
	$today = date("y-m-d h:i:s");
	
	$temp = mysql_query("UPDATE tema SET nombre='$datos[nombre]',descripcion='$datos[descripcion]',fecha_modificado='today',empleado_responsable=$datos[empleado_responsable],tema_categoria=$datos[tema_categoria] WHERE TemaID=$datos[ca]");

	if($temp!=NULL){
		echo "<script languaje='javacript'>confirm('Datos han sido actualizados satisfactoriamente');</script>";
		return 1;
	}
	else {
		echo "<script languaje='javacript'>confirm('Error en metodo: editarTema()');</script>";
		return 0;
	}

}

//FUNCION retorna el nombre (string) dado un id de tema
function getTemaCategoria($TemaID){
	iniBD();
	$res= mysql_query('SELECT t.nombre FROM tema_categoria t, tema h WHERE t.Tema_CategoriaID = h.tema_categoria AND h.TemaID='.$TemaID);
	if($row=mysql_fetch_row($res)) return $row[0];
	else return 0;
}

//FUNCION retorna el nombre (string) dado un id de persona
function getNombre($PersonaID){
	iniBD();
	$res= mysql_query('SELECT nombre FROM persona WHERE PersonaID='.$PersonaID);
	if($row=mysql_fetch_row($res)) return $row[0];
	else return 0;
}

//FUNCION retorna el nombre (string) dado un id de persona
function getApellidos($PersonaID){
	iniBD();
	$res= mysql_query('SELECT apellidos FROM persona WHERE PersonaID='.$PersonaID);
	if($row=mysql_fetch_row($res)) return $row[0];
	else return 0;
}

//FUNCION Cierra session del agente de servicio al cliente
function logout(){
	unset($_SESSION['correo']);	
	unset($_SESSION['usuario']);	
	unset($_SESSION['nombre']);	
	unset($_SESSION['apellidos']);	
	unset($_SESSION['cuenta']);	
	
	unset($_SESSION['ClienteID']);	
	$_SESSION['cu']='';
		
	header ("Location: ../ss/autenticar/"); 
}

?>